﻿using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using eap.share;
using System.Text.RegularExpressions;
using System.Text;

namespace zsproject.page
{
	public class Scholarship_list : System.Web.UI.Page
	{
		//存放要传递到aspx文件显示的数据
		public System.Collections.Hashtable output=new System.Collections.Hashtable();
		private string method="";

		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			//---------------------------------------------------------------
			Response.AddHeader("Pragma","No-cache");
			Response.AddHeader("Cache-Control", "no-cache");
			Response.Expires=0;
			//---------------------------------------------------------------

			//读取当前方法
			string page=Req.getPara(Request,"page");
			method=Req.getPara(Request,"method");

			//初始化系统(基本参数，配置参数，数据库连接参数)
			AdminLib.init(Request,Response,Server);
			//检查用户是否登录，是否有权限
			AdminUser user = (AdminUser)Session["_user"];

			if(user==null || !user.isLogin()){ Response.Redirect("../admin/index.aspx?page=unlogin"); Response.End() ; }
			if(user.isRelogin(Request)){ Response.Redirect("../admin/index.aspx?page=relogin"); Response.End() ; }
			//没有菜单的,特殊链接可以不要
			if(!user.getRight(Request)){ Response.Redirect("../admin/index.aspx?page=erraccess"); Response.End() ; }
			if(!user.isWarning()){ Response.Redirect("../admin/index.aspx?page=warning"); Response.End(); }
			//资源权限
			output.Add("actlist",DAO.sqlValueList("SELECT * FROM  dbo.getRightId("+user["id"]+")")); //保存用户有权限的操作	

			if(page=="List") List(Request,Response,Session,output);
			if(page=="List_action"){List_action(Request,Response,Session,output);}
			if(page=="Form") Form(Request,Response,Session,output);			
			if(page=="Form_action"){Form_action(Request,Response,Session,output);}
		}

	 
		private void List(System.Web.HttpRequest Request, System.Web.HttpResponse Response,System.Web.SessionState.HttpSessionState Session,System.Collections.Hashtable output)
		{
			AdminUser user = (AdminUser)Session["_user"];
			string group_id=Sys.toSQLText(Req.getPara(Request,"group_id"));
			string cond2 = " 1=1 ";      //附加的查询条件

			//查询属于下属
			if(group_id=="")
			{
				//查询所有管辖区域的企业
				group_id= user["dept_id"];				
			}

			// 设置参数			
			string deforder="";   //缺省的排序条件
			string orderTable="";  //排序字段缺省对应的表名，空表示缺省(主要是因为access数据库查询用join时不指定表名容易报错)
			string table="t_scholarship_list tb";  //要查询的表名
			string flist = "";    //可以检索的字段， 用'+'分格
			string sfield = "tb.*"; //要在select 语句中查询的字段,空或*表示所有
			string search_title="根据[岗位名称]检索关键字";  //查询提示
			//标题
			string title="";
			//查询数据库
			AdminList lst=new AdminList(Request,AdminLib.getSimpleRequestURL(Request)+"?page="+Req.getPara(Request,"page"),deforder,user["cfg_list"]);
			System.Data.DataRowCollection list=lst.getList(table,flist,cond2,sfield,orderTable);
			//保存结果
			output.Add("title",title);
			output.Add("search_title",search_title);
			output.Add("list",list);
			output.Add("lst",lst);
		}//end method

		private void List_action(System.Web.HttpRequest Request, System.Web.HttpResponse Response,System.Web.SessionState.HttpSessionState Session,System.Collections.Hashtable output)
		{
			AdminUser user = (AdminUser)Session["_user"];
			int errcode=0;
			string errmsg="";
			string sql = "",message="",strMenu="信息";
			string action=Req.getPara(Request,"action");

			string d=Sys.toSQLText(Req.getPara(Request,"d"));
			if(d!="") d=""+Sys.toInteger(d);

			//检查输入的内容
			//if(title=="") errmsg=errmsg+"标题不能为空。";

			//删除某条记录/删除选中的记录
			if(action=="delete")
			{
				if(d==null||d=="") 
				{
					d=AdminLib.getSelectedCheckbox(Request); //读取选中的记录
				}
            
				if(d==null||d=="")
				{ 
					Response.Write(user.getActionAlarm("您还未选择记录，请选择。")); 
					return; 
				} 
				errcode=errcode+DAO.sqlExec("delete from t_scholarship_list where id in ("+d+")");
				
				message=strMenu+"(d="+d+")，删除"+(errcode==0?"成功":"出错"+errmsg)+"。";
			}

			if(errmsg!=""){ Response.Write(user.getActionAlarm(errmsg)); return; }

			//Response.Write("<script>alert('"+message+"');</script>");
			if(errcode!=0) message=message+"(errcode="+errcode+")";
			if(errcode!=0) user.saveLog(Request,message); //保存日志
			string reload=errcode==0?Req.getPara(Request,"reload").Replace("{$id}",d):null; //如果发生了错误，则不需要重新刷新
			Response.Write(user.getActionString(Session,errcode,reload,message)); //显示结果 
		} 

		private void Form(System.Web.HttpRequest Request, System.Web.HttpResponse Response,System.Web.SessionState.HttpSessionState Session,System.Collections.Hashtable output)
		{
			AdminUser user = (AdminUser)Session["_user"];
			
			string d=Sys.toSQLText(Req.getPara(Request,"d"));
			if(d!="") d=""+Sys.toInteger(d);

			System.Data.DataRow map=DAO.sqlRow("select * from t_scholarship_list where id ='"+d+"'");			
			/*-------------------------------------附件信息---------------------------------------*/
			/*
			if(map!=null && map["accessory_ids"]!=null && map["accessory_ids"].ToString()!="")
			{
				string sql="select * from tbzs_accessory where id in("+map["accessory_ids"]+")";
				DataRowCollection listAtt = DAO.sqlList(sql);//附件信息
				output.Add("listAtt",listAtt);
			}
			*/
			/*-------------------------------------附件信息---------------------------------------*/
			//保存结果
			output.Add("map",map);		 
		}//end method 

		private void Form_action(System.Web.HttpRequest Request, System.Web.HttpResponse Response,System.Web.SessionState.HttpSessionState Session,System.Collections.Hashtable output)
		{
			AdminUser user = (AdminUser)Session["_user"];
			string sql = "",message="",strMenu="信息";
			string errmsg="";
			int errcode=0;
			string action=Req.getPara(Request,"action");

			string d=Sys.toSQLText(Req.getPara(Request,"d"));
			if(d!="") d=""+Sys.toInteger(d);
			//获取页面参数
			string id=Sys.toSQLText(Req.getPara(Request,"id"));
			string name=Sys.toSQLText(Req.getPara(Request,"name"));
			string sex=Sys.toSQLText(Req.getPara(Request,"sex"));
			string birthday=Sys.toSQLText(Req.getPara(Request,"birthday"));
			string national=Sys.toSQLText(Req.getPara(Request,"national"));
			string birthplace=Sys.toSQLText(Req.getPara(Request,"birthplace"));
			string cred=Sys.toSQLText(Req.getPara(Request,"cred"));
			string political=Sys.toSQLText(Req.getPara(Request,"political"));
			string phone=Sys.toSQLText(Req.getPara(Request,"phone"));
			string address=Sys.toSQLText(Req.getPara(Request,"address"));
			string postcode=Sys.toSQLText(Req.getPara(Request,"postcode"));
			string picture=Sys.toSQLText(Req.getPara(Request,"picture"));
			string province=Sys.toSQLText(Req.getPara(Request,"province"));
			string city=Sys.toSQLText(Req.getPara(Request,"city"));
			string counties=Sys.toSQLText(Req.getPara(Request,"counties"));
			string graduate=Sys.toSQLText(Req.getPara(Request,"graduate"));
			string grade=Sys.toSQLText(Req.getPara(Request,"grade"));
			string classs=Sys.toSQLText(Req.getPara(Request,"class"));
			string professional=Sys.toSQLText(Req.getPara(Request,"professional"));
			string education=Sys.toSQLText(Req.getPara(Request,"education"));
			string rank=Sys.toSQLText(Req.getPara(Request,"rank"));
			string approve_amount=Sys.toSQLText(Req.getPara(Request,"approve_amount"));
			string approve_time=Sys.toSQLText(Req.getPara(Request,"approve_time"));
			string state=Sys.toSQLText(Req.getPara(Request,"state"));
			string accessory_ids=Sys.toSQLText(Req.getPara(Request,"accessory_ids"));
			string add_time=Sys.toSQLText(Req.getPara(Request,"add_time"));
			string add_user=Sys.toSQLText(Req.getPara(Request,"add_user"));

			//检查输入的内容
			//if(title=="") errmsg=errmsg+"标题不能为空。";
			if(errmsg!=""){ Response.Write(user.getActionAlarm(errmsg)); return; }		
		
			//附件上传
			string link_name=string.Empty;
			string remark_name=string.Empty;
			string _accessory_ids = "";
			string _hid_ids = Sys.toSQLText(Req.getPara(Request,"hid_accessory_ids"));
			string[] add_attfile    = Sys.toSQLText(Req.getParaValues(Request,"add_attfile"));
			string[] add_attname    = Sys.toSQLText(Req.getParaValues(Request,"add_attname"));
			_accessory_ids = common.BLLFactory.Create().uploadFile2(Request,"0",remark_name,add_attname,add_attfile,user["id"],link_name);
			
			if(_accessory_ids == "")
				_accessory_ids = _hid_ids;
			else if(_accessory_ids!="" && _hid_ids != "")
				_accessory_ids = _hid_ids+","+_accessory_ids;
			
			
			//删除附件
			if(action=="del_att")
			{
				string hid_ids = Sys.toSQLText(Req.getPara(Request,"hid_accessory_ids"));
				string del_ids =Sys.toSQLText(Req.getPara(Request,"del_id")); //读取选中的记录
				if(del_ids == null ||del_ids == "")
				{
					Response.Write("<script>history.back();</script>");
					return;
				}
				string[] ar = hid_ids.Split(',');
				hid_ids = ","+del_ids+",";
				string tmp_ids = "";
				foreach(string str in ar)
				{
					if( hid_ids.IndexOf(","+str+",") == -1 && str != "")
					{
						if(tmp_ids == "")
							tmp_ids += str;
						else
							tmp_ids += ","+str;
					}
				}

				//sql= " select  from tbzs_accessory where id='"+del_ids+"'";

				/*
				//删除服务器文件
				FileManager file=new FileManager();
				file.DeleteFile();
				
				//删除附件表记录
				sql= " delete from tbzs_accessory where id='"+del_ids+"'";
				errcode=errcode+DAO.sqlExec(sql);
				*/

				//更新业务表关联
				if(errcode==0)
				{
					sql= " update t_scholarship_list set accessory_ids='"+tmp_ids+"' where id="+d;
					errcode=errcode+DAO.sqlExec(sql);
				}
			}
			//附件上传
			
			if(action=="edit")
			{
				if(d=="")
				{
					//新增
					sql=@"INSERT INTO t_scholarship_list
					(						
						[name] ,
						[sex] ,
						[birthday] ,
						[national] ,
						[birthplace] ,
						[cred] ,
						[political] ,
						[phone] ,
						[address] ,
						[postcode] ,
						[picture] ,
						[province] ,
						[city] ,
						[counties] ,
						[graduate] ,
						[grade] ,
						[class] ,
						[professional] ,
						[education] ,
						[rank] ,
						[approve_amount] ,
						[approve_time] ,
						[state] ,
						[accessory_ids] ,
						[add_time] ,
						[add_user] 
					)
					VALUES
					(
						'"+name+
						"','"+sex+
						"','"+birthday+
						"','"+national+
						"','"+birthplace+
						"','"+cred+
						"','"+political+
						"','"+phone+
						"','"+address+
						"','"+postcode+
						"','"+picture+
						"','"+province+
						"','"+city+
						"','"+counties+
						"','"+graduate+
						"','"+grade+
						"','"+classs+
						"','"+professional+
						"','"+education+
						"','"+rank+
						"','"+approve_amount+
						"','"+approve_time+
						"','"+state+
						"','"+accessory_ids+
						"','"+add_time+
						"','"+add_user+
							"');Select @@IDENTITY";
					d = DAO.sqlValue(sql).ToString();

					strMenu=strMenu+"(d="+d+")新增";
				} 
				else
				{	
					//修改
					sql=@"UPDATE t_scholarship_list
						SET
						[name] ='"+name+
						"',[sex]='"+sex+
						"',[birthday]='"+birthday+
						"',[national]='"+national+
						"',[birthplace]='"+birthplace+
						"',[cred]='"+cred+
						"',[political]='"+political+
						"',[phone]='"+phone+
						"',[address]='"+address+
						"',[postcode]='"+postcode+
						"',[picture]='"+picture+
						"',[province]='"+province+
						"',[city]='"+city+
						"',[counties]='"+counties+
						"',[graduate]='"+graduate+
						"',[grade]='"+grade+
						"',[class]='"+classs+
						"',[professional]='"+professional+
						"',[education]='"+education+
						"',[rank]='"+rank+
						"',[approve_amount]='"+approve_amount+
						"',[approve_time]='"+approve_time+
						"',[state]='"+state+
						"',[accessory_ids]='"+accessory_ids+
						"',[add_time]='"+add_time+
						"',[add_user]='"+add_user+
						"' where id='"+d+"'";
					errcode=DAO.sqlExec(sql);

					strMenu=strMenu+"(d="+d+")修改";
				}
				message=strMenu+(errcode==0?"成功":"出错")+"。";
			
			}			
			//Response.Write("<script>alert('"+message+"');</script>");
			if(errcode!=0) message=message+"(errcode="+errcode+")";
			if(errcode!=0) user.saveLog(Request,message); //保存日志
			string reload=errcode==0?Req.getPara(Request,"reload").Replace("{$id}",d):null; //如果发生了错误，则不需要重新刷新
			Response.Write(user.getActionString(Session,errcode,reload,message)); //显示结果 
		} 
		
		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			InitializeComponent();
			base.OnInit(e);
		}

		private void InitializeComponent()
		{
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}
}
